// Number  数值  整数和小数
// string   字符串 （字符） "" ""
// bool   true/false
// null 没有
// undefined 未定义
// symbol  es6

var a=null;
console.log(typeof a);

// object: 正则表达式 数组对象  字面量（json对象）
// function : 

// json xml 字数传输
// 序列化 反序列化
// JSON.stringify() 序列化
// JSON.parse() 反序列化
// 方法一：
var stu={
    id:100001,
    name:"张三"
}
console.log(stu.id);
// 方法二：
var stu=JSON.parse('{"id":100001,"name":"张三"}');
console.log(stu.id);
var a=10;
{
    a=20;
}
console.log(a);
// 显示20

var a=10;
{
    console.log(a);
    a=20;
}
// 显示10
// + - * /  %    +字符串运算 连接字符串
var a=3-"1";
console.log(a);
// 
var a=1/"3";
console.log(a);
// 
var a=(0.1*10+0.2*10)/10;
console.log(a==0.3);

// 为什么0.1+0.2=0.30000000000000004 使用js回答这个问题（面试问题）
// (0.1*10+0.2*10)/10;

//  =  ==和===的不同
// = 赋值
// ==之比较“转化成同一类型后的值”看“值”是否相等  “值”
// ===如果类型不同，其结果就是不等  “值和类型”
console.log(a=2);  // 2  
console.log(a=="2"); // true
console.log(a==="2");// false

// parseInt 转化 取整 81.5 //81
// parseFloat
// isNaN Not a Number

var a=parseInt('8a6.99');
console.log(a);

var a=parseInt('86.5+0.5'); //86
console.log(a);

//函数 含参数含返回值
// arguments 参数数组 (所有的数据都能传出) 伪数组可以当数组使用 有下标
function sum(a,b){
    console.log( arguments);
    console.log(a);
    return 1;
}
var a=sum(3,4,5,8,9);
console.log(a);// 7

var arr=new Array();
arr[0]=0;
arr[1]=1;
arr[2]=2;
console.log(arr);

var arr=[1,"2",3,function(){}];
console.log(arr);
// arr.shift(); 头部删除
// arr.unshift(); 头部添加
// arr.push();尾部添加
// arr.pop();尾部删除

var arr=[1,2,3,4,5];
arr.shift();
arr.unshift(2);
arr.push(2);
arr.pop();
console.log(arr);

//可以查看删除的元素
var arr=[1,2,3,4,5];
// var res=arr.pop();
// console.log(arr,res);
//开始位置 删除个数 ...添加数据（替换）
arr.splice(2,1,8); (2,1,8) 
console.log(arr);